Formal verification of automatically generated C-code from polychronous data-flow equations
نویسندگان
چکیده
Synchronous data-flow languages are used as design approaches in developing embedded and critical real-time systems in which synchronous programs are verified by applying formal verification. In a synchronous design approach, transformation and optimization are used to transform synchronous programs and generate general purpose executable code. The incorrectness of the transformations make the guarantees unable to carry over the transformed programs and the executable code. In this work, adopting the translation validation approach, we present an automated verification process to verify the correctness of the synchronous language compiler SIGNAL transformations and code generation on the clock information. Keywords—Formal verification, Translation validation, Validated compiler, Code generator, Synchronous programs.
منابع مشابه
New Techniques for Sequential Software Synthesis from a Polychronous Data Flow Formalism
Much of the design and development of embedded software has been done manually over the years with rigorous posteriori verification steps to ensure correctness of the manually written code. Formalization of requirements to make verification and simulation test bench generation more rigorous are being practiced increasingly, but currently, there is much left to be desired in ensuring complete fu...
متن کاملAutomatic Synthesis and Verification of Real-Time Embedded Software
Currently available application frameworks that target at the automatic design of real-time embedded software are poor in integrating functional and non-functional requirements. In this work, we reveal the internal architecture and design flow of a newly proposed framework called Verifiable Embedded Real-Time Application Framework (VERTAF), which integrates software component-based reuse, forma...
متن کاملAutomated proof-producing abstraction of C code
Before software can be formally reasoned about, it must first be represented in some form of logic. There are two approaches to carrying out this translation: the first is to generate an idealised representation of the program, convenient for reasoning about. The second, safer approach is to perform a precise, conservative translation, at the cost of burdening verification efforts with low-leve...
متن کاملBuilding Heterogeneous Safety Cases for Automatically Generated Code
Safety cases provide a mechanism for representing evidence-based arguments that a system is acceptably safe to operate in its intended context. We show how we can automatically combine diverse types of information from heterogeneous sources into a single integrated safety case for a system implemented using automatically generated software. The core argument structure of the safety case is gene...
متن کاملUsing Natural Language Documentation in the Formal Verification of Hardware Designs
In the modern ASIC design cycle, correctness properties for functional verification are usually created by an engineer whose task is to read the system documentation and manually generate a set of formal statements in the chosen verification language. This process is typical of the reason why up to 60% of engineering effort is spent on verification and test activities. We present a formal attri...
متن کامل